社区
C语言 帖子详情 为什么程序正确,结果不对? jingjinghunan 2009-02-02 10:30:24 #define YES 1
#define NO 0
main()
{int nl,nw,nc,inword;
char c;
inword=NO;
nl=nw=nc=0;
while(c=getchar()!='*')
{++nc;
if(c=='\n')
++nl;
if(c==' '||c=='\t'||c=='\n')
inword=NO;
else
if(inword==NO)
{inword=YES;
++nw;
}
}
nc--;
printf("%d %d %d\n",nl,nw,nc);
}
输入
How are you?
I'm fine thank you.
*
输出结果:
2 7 32
但我运行的结果却是0 0 32
...全文
202 8 打赏 收藏 为什么程序正确,结果不对? #define YES 1 #define NO 0 main() {int nl,nw,nc,inword; char c; inword=NO; nl=nw=nc=0; while(c=getchar()!='*') {++nc; if(c=='\n') ++nl; if(c==' '||c=='\t'||c=='\n') inword=NO; else if(inword==NO) {inword=YES; ++nw; } } nc--; printf("%d %d %d\n",nl,nw 复制链接
扫一扫 分享 转发到动态 举报 AI 作业
写回复 配置赞助广告取 消
确 定
用AI写文章 8 条回复 切换为时间正序 请发表友善的回复… 发表回复 打赏红包 需支付: 0.00 元 取 消 确 定 jingjinghunan 2009-02-03 打赏举报 回复 还是一样的结果啊 从零开始学代码 2009-02-02 打赏举报 回复
#include
#include
#define YES 1
#define NO 0
main()
{
int nl,nw,nc,inword;
char c;
inword=NO;
nl=nw=nc=0;
/* Note that getchar reads from stdin and
is line buffered; this means it will
not return until you press *. */
while((c=getchar())!='*')
{
++nc; //number of characters
if(c=='\n')
{
++nl;//number of lines
}
if(c==' '||c=='\t'||c=='\n')
{
inword=NO;
}
else
{
if(inword==NO)
{
inword=YES;
++nw; //number of words
}
}
}
nc--;
printf("%d %d %d\n",nl,nw,nc);
return 0;
}
xidianxiancai 2009-02-02 打赏举报 回复 将while(c=getchar()!='*') 换成while((c=getchar()) != '*') 就OK了 xidianxiancai 2009-02-02 打赏举报 回复 将while(c=getchar()!='*') 换成while((c=getchar()) != '*') 就OK了 waizqfor 2009-02-02 打赏举报 回复 [Quote=引用楼主 jingjinghunan 的帖子:]
#define YES 1
#define NO 0
main()
{int nl,nw,nc,inword;
char c;
inword=NO;
nl=nw=nc=0;
while(c=getchar()!='*')
{++nc;
if(c=='\n')
++nl;
if(c==' '||c=='\t'||c=='\n')
inword=NO;
else
if(inword==NO)
{inword=YES;
++nw;
}
}
nc--;
printf("%d %d %d\n",nl,nw,nc);
}
输入
How are you?
I'm fine thank you.
*
输出结果:
2 7 32
但我运行的结果却是0 0 32
[/Quote]
LZ帮你改完了 看看运行一下
#define YES 1
#define NO 0
#include
#include
void main()
{int nl,nw,nc,inword;
char c;
inword=NO;
nl=nw=nc=0;
while((c=getchar())!='*')
{++nc;
if(c=='\n')
++nl;
if(c==' '||c=='\t'||c=='\n')
inword=NO;
else
if(inword==NO)
{inword=YES;
++nw;
}
}
nc--;
printf("%d %d %d\n",nl,nw,nc);
}
yuzl32 2009-02-02 打赏举报 回复
//关系运算符的优先级比赋值运算符高,所以要用括号来避免
while((c=getchar())!='*')
叶落寒山 2009-02-02 打赏举报 回复
while((c=getchar())!='*')
nullah 2009-02-02 打赏举报 回复 up 【C语言初阶】 为什么我的两个整数加起来结果不对?原来是你,整型提升~ 上一次我们说过了浮点数在内存中的存储规则和形式。我们知道了C语言中,所有...有符号整数的二进制形式,首位为符号位(0表示正数,1表示负数)。 正整数的三种二进制形式关系为: 原码 == 反码 == 补码 例: 10:原 为什么在Eclipse中,运行一个程序时却出现另一个程序的结果? 那这是为什么呢?现在我用实例来帮大家解决。 问题描述: 现在我们自己有两个简单的文本输出程序,我运行程序1得到的结果为“Hello World” 接下来运行第二个healt1的程序,结果如下: 可见我们在运行程序2时,... tcpdump过滤特定IP的数据包,结果不对? 项目中自己需要写个程序通过pcap-filter表达式过滤数据包,测试时发现过滤结果不对!现将问题简化如下(以tcpdump举例) if判断的时候,程序不报错,但输出结果不对 if判断的时候,程序不报错,但输出结果不对 其中的一个可能的原因是:判断语句中少加了等号 如:if (a= b),这样不报错,但结果不对。 应该是if(ab)。 赋值(=),等于()。 ... matlab同一个代码结果不同,为什么当我使用相同的表达式定义函数时,matlab内置函数的结果与我得到的结果不同?... (https://www.mathworks.com/help/signal/ref/hamming.html)为了进一步分析相同的信号,但是我遇到了一些不寻常的问题,当我使用内置函数Hamming(L)时得到...,当我用Matlab中定义的相同方式编写函数时得到了正确的结果...
C语言
70,019
社区成员
243,266
社区内容
发帖 与我相关 我的任务 C语言 C语言相关问题讨论 复制链接
扫一扫 分享 确定 社区描述 C语言相关问题讨论 社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告 试试用AI创作助手写篇文章吧
+ 用AI写文章